package com.wbcs.system.inputbox;

import com.wbcs.config.xml.XmlElementBean;

public class RadioBox extends AbsRadioCheckBox
{
    public RadioBox(String typename)
    {
        super(typename);
    }

    @Override
	public String getInputboxInnerType()
    {
        return "radio";
    }
    
    @Override
	protected boolean isMultipleSelect()
    {
        return false;
    }

    @Override
	public String createGetValueByIdJs()
    {
        return createGetContentByIdJs(true);
    }
    
    @Override
	public String createGetLabelByIdJs()
    {
        return createGetContentByIdJs(false);
    }

    private String createGetContentByIdJs(boolean isGetValue)
    {
        StringBuffer resultBuf=new StringBuffer();
        resultBuf.append("var radioObjs=document.getElementsByName(id);");
        resultBuf.append("if(radioObjs!=null){");
        resultBuf.append("  for(i=0;i<radioObjs.length;i=i+1){");
        resultBuf.append("      if(radioObjs[i].checked){");
        if(isGetValue)
        {
            resultBuf.append("          return radioObjs[i].value;");
        }else
        {
            resultBuf.append("          return radioObjs[i].getAttribute('label');");
        }
        resultBuf.append("      }");
        resultBuf.append("  }");
        resultBuf.append("  return '';");
        resultBuf.append("}");
        resultBuf.append("return '';");
        return resultBuf.toString();
    }
    
    @Override
	public String createSetInputBoxValueByIdJs()
    {
        StringBuffer resultBuf=new StringBuffer();
        resultBuf.append("var radioObjs=document.getElementsByName(id);");
        resultBuf.append("if(radioObjs!=null&&radioObjs.length>0){");
        resultBuf.append("  for(var i=0,len=radioObjs.length;i<len;i=i+1){");
        resultBuf.append("      if(radioObjs[i].value==newvalue){radioObjs[i].checked=true;break;}");
        resultBuf.append("  }");
        resultBuf.append("}");
        return resultBuf.toString();
    }

    @Override
	public String createGetValueByInputBoxObjJs()
    {
        StringBuffer resultBuf=new StringBuffer();
        resultBuf.append("var radioname=boxObj.getAttribute('name');");
        resultBuf.append("if(radioname!=null&&radioname!=''){");
        resultBuf.append("  var radioObjs=document.getElementsByName(radioname);");
        resultBuf.append("  if(radioObjs!=null&&radioObjs.length>0){");
        resultBuf.append("      for(i=0,len=radioObjs.length;i<len;i=i+1){");
        resultBuf.append("          if(radioObjs[i].checked){");
        resultBuf.append("              value=radioObjs[i].value;label=radioObjs[i].getAttribute('label');break;");
        resultBuf.append("          }");
        resultBuf.append("      }");
        resultBuf.append("  }");
        resultBuf.append("}");
        return resultBuf.toString();
    }
    
    @Override
	public void loadInputBoxConfig(IInputBoxOwnerBean ownerbean,XmlElementBean eleInputboxBean)
    {
        super.loadInputBoxConfig(ownerbean,eleInputboxBean);
        this.isMultiply=false;
        this.separator=null;
    }
}
